﻿
namespace VMWareLabWorkflowsDataContracts
{
    using System.Collections.ObjectModel;
    using System.ComponentModel;

    public class DeploymentScript : INotifyPropertyChanged
    {
        private string buildAgentName;
        private string pathToExecutable;
        private string arguments;

        /// <summary>
        /// Gets or sets the name of the build agent.
        /// </summary>
        /// <value>The name of the build agent.</value>
        public string BuildAgentName
        {
            get
            {
                return this.buildAgentName;
            }
            set
            {
                this.buildAgentName = value;
                this.OnPropertyChanged("BuildAgentName");
            }
        }

        /// <summary>
        /// Gets or sets the path to executable.
        /// </summary>
        /// <value>The path to executable.</value>
        public string PathToExecutable
        {
            get
            {
                return this.pathToExecutable;
            }
            set
            {
                this.pathToExecutable = value;
                this.OnPropertyChanged("PathToExecutable");
            }
        }

        /// <summary>
        /// Gets or sets the arguments.
        /// </summary>
        /// <value>The arguments.</value>
        public string Arguments
        {
            get
            {
                return this.arguments;
            }
            set
            {
                this.arguments = value;
                this.OnPropertyChanged("Arguments");
            }
        }



        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string name)
        {
            PropertyChangedEventHandler handler = this.PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(name));
            }
        }
    }
}
